Вход

Просмотр полной версии : помогите понять ошибкуб скрипт некорректно меняет параметры BODY


pro_moscow
13.06.2010, 13:28
задача такая: скрипт должен определять разрешение монитора и вставлять нужную фоновую картинку в зависимости от разрешения. нашёл скрипт определения разрешения, долго его менял, в итоге получилось вот что:



<script language="JavaScript">

var height=0; var width=0;
if (self.screen) {
width = screen.width
height = screen.height
}
else if (self.java) {
var jkit = java.awt.Toolkit.getDefaultToolkit();
var scrsize = jkit.getScreenSize();
width = scrsize.width;
height = scrsize.height;
}
//
</script>



------------------- первая часть, которая определяет параметры монитора. она работает без проблем.



<script language="JavaScript">
if (width = 1024) {
document.body.background = "bgmain1024.jpg"
}
else if (width = 1280) {
document.body.background = "bgmain51.jpg"
}
//
</script>



----------------------- вторая часть, которая меняет параметр фона в BODY. вот как раз эта часть мостит монитор только первой картинкой, в данном случае bgmain1024.jpg, вторую не замечает. то есть, вне зависимости от разрешения монитора, всегда будет выбрана картинка bgmain1024.jpg, а если разрешение будет 1280, то всё равно будет картинка bgmain1024.jpg

помогите понять ошибку и сделать так, чтобы фоновая картинка выбиралась исходя из значения width


ВТОРОЙ вопрос.

вторая часть скрипта:

<script language="JavaScript">
if (width = 1024) {........

если писать if (width = 1024 && height = 768), как это было в первоначальном скрипте, то скрипт вообще не работает. в чём тут проблема?

Octane
13.06.2010, 13:47
первая часть, которая определяет параметры монитора. она работает без проблем.
Я использую дисплей ноутбука 1366x768 (основной монитор) и внешний монитор 1680x1050 (на него расширен рабочий стол), окно Internet Explorer открыто на внешнем мониторе, угадайте что будет в screen.width и screen.height?

pro_moscow
13.06.2010, 13:50
я тестирую скрипт на разрешениях 1280х1024 и 1024х768, и монитор один. так что, хотелось бы по существу получить ответ на вопрос, а в идеале просто исправленный скрипт, а не угадывать, какие значения присвоит скрипт пользователям с 5 мониторами

Geddar
13.06.2010, 20:21
почитай мануал хотяб немного, знак равно в js, как и в прочих С-подобных языках означает присвоение, а сравнение на равенство пишеться == вот и думай, почему у тебя if не работает

pro_moscow
13.06.2010, 20:25
на соседнем форуме на вопрос уже давно ответ расписали безо всяких понтов, а тут у одного тролля 25 мониторов, а другой с мануалом носится как с писаной торбой.

всем пока, спасибо киберфоруму, а сюда я больше не ездок. тема закрыта

Geddar
13.06.2010, 20:32
pro_moscow, а у тебя ума ни хватает в if = заменить на ==